import User.AdminUser;
import User.NormalUser;
import User.User;
import book.BookList;

import java.util.Scanner;

public class Main {
    public static User login(){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的姓名：");
        String name = scanner.nextLine();

        System.out.println("请输入你的身份：1-》管理员 0-》普通用户");
        int choice1 = scanner.nextInt();
        if (choice1 == 1){
             return new AdminUser(name);//将返回值设为User类型，发生了向上转型
        }else{
            return new NormalUser(name);
        }
    }
    public static void main(String[] args) {
        BookList bookList = new BookList();
        //user最终指向哪个用户是不确定的，需要根据用户的输入进行判断，不知道是管理员还是普通用户，所以直接使用User作为接受的类型，User是管理员和普通用户的父类
        User user = login();
        while(true){
            //根据用户身份的不同打印操作菜单
            int choice = user.menu();
            //根据choice调用指定的操作
            user.doOperation(choice,bookList);
        }
    }
}
